package com.park.repository;


import com.park.domain.User;

import java.util.Collection;

/**
 * 用户存储仓库
 *
 * @since 1.0
 */
public interface UserRepository {
	/**
	 * 添加用户
	 *
	 * @param user user
	 * @return true or false
	 */
	boolean save(User user);

	/**
	 * 通过 id 删除用户
	 *
	 * @param userId userId
	 * @return true or false
	 */
	boolean deleteById(Long userId);

	/**
	 * 更新用户信息
	 *
	 * @param user user
	 * @return true or false
	 */
	boolean update(User user);

	/**
	 * 通过id获取用户信息
	 *
	 * @param userId userId
	 * @return User
	 */
	User getById(Long userId);

	/**
	 * 通过用户名密码获取用户信息
	 *
	 * @param userName 用户名
	 * @param password 密码
	 * @return User
	 */
	User getByNameAndPassword(String userName, String password);

	/**
	 * 获取所有用户信息
	 *
	 * @return User 集合
	 */
	Collection<User> getAll();
}
